/**
* \file Vaisseau.cpp
* \brief Ensemble des methodes de la classe Vaisseau
* \author FEKI Mehdi && RIPOCHE Emilien
* \version 1.0
* \date 04/12/2011
*/

#include "Vaisseau.h"
#include "CaseArtefact.h"

Vaisseau::Vaisseau()
	: _nbCharges(0), _hasArtefact(false), _x(-1), _y(-1) {};

Vaisseau::Vaisseau(int posX, int posY)
	: _nbCharges(0), _hasArtefact(false), _x(posX), _y(posY) {};

void Vaisseau::majProprietes(int x, int y) {
	switch(this->getTypeCase()) {
		case(Case::Artefact):
		{
			if (this->type() != Capsule && this->_hasArtefact != true) {
				_hasArtefact = true;
				// Decrementation du nombre d'artefacts de la case artefact
				((CaseArtefact*)this->getCase())->decrementationNbArtefacts();
			}
			break;
		}
	case(Case::Energie):
		{
			this->charger();
			break;
		}
	default:
		break;
	}
}